// pages/category/category.js
import {
  request
} from "../../request/index.js"
Page({
  /**
   * 页面的初始数据
   */
  data: {
    //左侧的接口数据
    leftMenuList: [],
    //右侧的接口数据
     rightContent: [],
    //被点击的左侧菜单
    currentIndex: 0,
    scrollTop: 0
  },
  //接口返回数据
  Cates: [],
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    /**
     * 先判断本地有没有旧的数据
     * 没有就发送请求 
     */
    //获取本地存储的数据
    const Cates = wx.getStorageSync('cates')
    //2进行判断
    if (!Cates) {
      //不存在 发送请求获取数据 获取接口数据
      this.getCates()
    } else {
      //有旧的数据 定义过期时间 10s 改成5分钟
      if (Date.now() - Cates.time > 1000 * 600) {
        this.getCates()
      } else {
        //可以使用旧的数据
        this.Cates = Cates.data
        //有数据渲染页面
        // 用构造函数构造左侧的大菜单数据
        let leftMenuList = this.Cates.map(v => v.cat_name)
        //用构造函数构造右侧的菜单数据
        let  rightContent = this.Cates[0].children
        this.setData({
          leftMenuList,
           rightContent
        })
      }
    }
  },
  //获取分类数据
  async getCates() {
    // request({
    //   url: '/categories'
    // }).then(res => {
    //   if (res.statusCode = 200) {
    //     console.log(res);
    //     //接收接口返回数据
    //     this.Cates = res.data.message;
    //     //将接口数据存入到本地存储中
    //     wx.setStorageSync('cates', {time:Date.now(),data:this.Cates})
    //   }
    // })
    let res = await request({ url: '/categories' })
    if (res.statusCode = 200) {
      console.log(res);
      //接收接口返回数据
      this.Cates = res.data.message;
      //将接口数据存入到本地存储中
      wx.setStorageSync('cates', { time: Date.now(), data: this.Cates })
      // 构造左侧的大菜单数据
      let leftMenuList = this.Cates.map(v => v.cat_name);
      // 构造右侧的商品数据
      let rightContent = this.Cates[0].children;
      this.setData({
        leftMenuList,
        rightContent
      })
    }
  },
  //点击左侧菜单的列的点击事件
  handleItemTop(e) {
    console.log(e.currentTarget.dataset);
    const {
      index
    } = e.currentTarget.dataset
    let  rightContent = this.Cates[index].children
    //重新设置右侧的内容距离顶部为0
    this.setData({
      currentIndex: index,
       rightContent,
      scrollTop: 0
    })

  },
})